<?php

class FMySQLCatalogue extends FCatalogue
{
    
    /**
     * Método para gerar um id para um novo registro na tabela $table.
     * @author Bruno Edgar Fuhr [brunofuhr@yahoo.com.br]
     * @since 29/03/2011
     * 
     * @param $table - Tabela em que se deseja criar o novo id.
     * @param $field - Campo que é chave primária da tabela. Default 'codigo'.
     */
    public function getIdForTable($table, $field = 'codigo')
    {
        $result = null;
        
        if ( $table )
        {
            $sql = "SELECT MAX($field) AS index FROM $table";
            $result = $this->db->query($sql);
        }

        $index = $result[0]['index'] ? $result[0]['index'] + 1 : 1;

        return $index;
    }
    
    /**
     * Listar os nomes das colunas de uma tabela.
     * TODO: considerar esquema.
     * 
     * @param string $table Nome da tabela.
     * @return array Vetor com a listagem de colunas da tabela
     */
    public function getTableColumns($table)
    {
        $table = strtolower($table);

        $sql = "";

        $colunas = $this->db->query($sql);

        $coluna = null;

        foreach ( $colunas as $info )
        {
            $coluna[] = $info["attname"];
        }

        return $coluna;
    }

    public function getColumnInfo($table, $column) {
        
    }

    public function getTablePrimaryKey($table) {
        
    }

    public function getTableForeignKeys($table) {
        
    }

    public function getForeignTables($table) {
        
    }
    
}


?>
